Method and system for updating a summary page of a document

ABSTRACT

A summary page provides a current overview of a document. A query may be created or selected to search for a particular type of data in the document. Metadata associated with the document is analyzed to locate the type of data identified in the query. The query result is displayed on the summary page. A user may scan the summary page to determine an overview of the document based on the query result. The summary page may also include a link to the source of the query result in the document. The query or the query results may be stored in a dynamic content container associated with the document. The dynamic quality of the content container causes the summary page to be continuously updated and synchronous with a current state of the document. Thus, modifications to sources of the query result in the document are dynamically updated on the summary page.

BACKGROUND OF THE INVENTION

Locating specific material within a large text document can be a slowprocess. Information sought by a user may exist in many different placeswithin the document. The user may locate information in the document bymanually scanning each page, conducting a key word search, or analyzingmetadata to identify specific objects in the document. Specificinformation about a document can be accessed from a summary sheetassociated with the document. When modifications are made to thedocument, the summary sheet no longer provides an accurate overview ofthe document contents.

SUMMARY OF THE INVENTION

A summary page provides a current overview of a text file document. Aquery may be created or selected to search for a particular type of datain the document. The types of data may include a section heading,contact information, an updated object, meeting notes, an action item, ahyperlink, customer information, a name, a phone number, an e-mailaddress, a note flag, or any other indicator of the content typeassociated with text in the document. Metadata associated with thedocument is analyzed to locate the type of data identified in the query.

The query result is displayed on the summary page. In one example, aquery result identifies all instances of a key word within the document.In another example, a query result generates a table of contents for thedocument. Thus, a user may scan the summary page to determine anoverview of the document based on the query result.

The summary page may also include a link to the source of the queryresult in the document. A user may select the link and navigate thedocument to the location of the source of the query result. Contextualinformation associated with the query result may also be displayed onthe summary page.

The query or the query results may be stored in a dynamic contentcontainer associated with the document. The dynamic quality of thecontent container causes the summary page to be continuously updated andsynchronous with the current state of the document. Thus, modificationsto sources of the query result in the document are dynamically updatedon the summary page.

In one embodiment, a request is received to query a document forinformation. The information is identified. The identified informationis displayed on the summary page. The summary page is updated when theidentified information is modified in the document. The updated summarypage is synchronous with a current state of the document.

In another embodiment, the information is identified by analyzingmetadata associated with the document. The identified information isstored in a dynamic content container associated with the document.Modifications to the identified information are determined from thedynamic content container.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a computing device that may be used according to anexample embodiment of the present invention.

FIG. 2 illustrates a block diagram of a system for updating a summarypage associated with a document, in accordance with the presentinvention.

FIG. 3 illustrates an example summary page that displays a table ofcontents for a document, in accordance with the present invention.

FIG. 4 is an operational flow diagram illustrating a process forupdating a summary page associated with a document, in accordance withthe present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A summary page provides a current overview of a document. A query may becreated or selected to search for a particular type of data in thedocument. Metadata associated with the document is analyzed to locatethe type of data identified in the query. The query result is displayedon the summary page. A user may scan the summary page to determine anoverview of the document based on the query result. The summary page mayalso include a link to the source of the query result in the document.The query or the query results may be stored in a dynamic contentcontainer associated with the document. The dynamic quality of thecontent container causes the summary page to be continuously updated andsynchronous with a current state of the document. Thus, modifications tosources of the query result in the document are dynamically updated onthe summary page.

Illustrative Operating Environment

With reference to FIG. 1, one example system for implementing theinvention includes a computing device, such as computing device 100.Computing device 100 may be configured as a client, a server, a mobiledevice, or any other computing device that interacts with data in anetwork based collaboration system. In a very basic configuration,computing device 100 typically includes at least one processing unit 102and system memory 104. Depending on the exact configuration and type ofcomputing device, system memory 104 may be volatile (such as RAM),non-volatile (such as ROM, flash memory, etc.) or some combination ofthe two. System memory 104 typically includes an operating system 105,one or more applications 106, and may include program data 107. Asummary page update module 108, which is described in detail below, isimplemented within applications 106.

Computing device 100 may have additional features or functionality. Forexample, computing device 100 may also include additional data storagedevices (removable and/or non-removable) such as, for example, magneticdisks, optical disks, or tape. Such additional storage is illustrated inFIG. 1 by removable storage 109 and non-removable storage 110. Computerstorage media may include volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information, such as computer readable instructions, data structures,program modules, or other data. System memory 104, removable storage 109and non-removable storage 110 are all examples of computer storagemedia. Computer storage media includes, but is not limited to, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by computing device 100. Any such computerstorage media may be part of device 100. Computing device 100 may alsohave input device(s) 112 such as keyboard, mouse, pen, voice inputdevice, touch input device, etc. Output device(s) 114 such as a display,speakers, printer, etc. may also be included.

Computing device 100 also contains communication connections 116 thatallow the device to communicate with other computing devices 118, suchas over a network. Networks include local area networks and wide areanetworks, as well as other large scale networks including, but notlimited to, intranets and extranets. Communication connection 116 is oneexample of communication media. Communication media may typically beembodied by computer readable instructions, data structures, programmodules, or other data in a modulated data signal, such as a carrierwave or other transport mechanism, and includes any information deliverymedia. The term “modulated data signal” means a signal that has one ormore of its characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media. The term computer readable media asused herein includes both storage media and communication media.

Updating a Summary Page of a Document

FIG. 2 illustrates a block diagram of a system for creating and updatinga summary page associated with a document. The system includes document200 and summary page 250 loaded in memory of a computing device.Document 200 may be any text file such as a word processing document ora notebook document. Document 200 includes pages 210, 220, 230. Document200 is associated with metadata 215, 225, 235. Metadata 215, 225, 235may be embedded within the same file as document 200. Alternatively,metadata 215, 225, 235 may be stored in a location external to document200.

Pages 210, 220, 230 may include many different types of data. Forexample, the types of data may include section headings, note flags,action items, contact information (e.g., name, phone number, e-mailaddress, residence address), and hyperlinks. The different types of datamay be identified by metadata 215, 225, 235. Metadata 215, 225, 235 maydescribe how, when, and by whom a particular set of data was collected,and how the data is formatted. Pages 210, 220, 230 may also include datathat is identified by a pattern (e.g., a telephone number, a customerID).

Summary page 250 provides an overview of particular types of informationincluded within document 200, or within a subset of pages or sections ofdocument 200. A query to identify a particular type of information indocument 200 is generated or selected from a pre-defined query list. Thepre-defined query list allows a user to generate a summary page forcommonly performed queries. A query may be based on a keyword search,contact information, a type of note flag, or any other information thatthe user desires to have summarized in summary page 250. In oneembodiment, a user may customize a query. For example, a user may definea query to build a list of content that references a particular set ofdata. The set of data may be dynamic such that the query result maychange over time.

Metadata 215, 225, 235 associated with document 200 is analyzed tolocate the type of information identified in the query. Query result 260is displayed on summary page 250. In one embodiment, summary page 250may provide an overview of document 200 based on a combination ofmultiple queries. In another embodiment, more than one summary page maybe associated with document 200. In yet another embodiment, summary page250 is automatically generated.

The query or the query result may be stored in a dynamic contentcontainer associated with document 200. Dynamic content may be richlyformatted content such as hypertext markup language (HTML) content thatis generated at run time by a server-side technology. Dynamic contentincludes any HTML in the resulting document, including client-sidescripting, headers, style sheets, extensible markup language (XML),object tags, and the like.

The dynamic content container may be created when a user generates aquery or selects an existing query. The query may then be saved to apage associated with document 200. The dynamic quality of the contentcauses summary page 250 to be continuously and synchronously updated toreflect the current state of document 200. Thus, modifications to thesources of query result 260 in document 200 are automatically displayedon summary page 250. For example, Name 2 on Page 2 of document 200 maybe changed to “John Doe.” Summary page 250 is then automaticallyrefreshed such that Name 2 is removed from summary page 250 and replacedwith “John Doe.”

In one embodiment, the user may create or select a query to identify aspecific type of data from document 200. For example, as shown in thediagram, the query may identify all names in document 200. Metadata 215,225, 235 is analyzed to locate all of the names that exist in document200. The query result is displayed in summary page 250 such that theuser is presented with all of the names included within document 200(e.g., Name 1, Name 2, Name N). Summary page 250 may also include a linkto the location where each name is found within document 200 (e.g., Page1, Page 2, Page N). The user may navigate document 200 from summary page250 by selecting the link. The user is then taken to the source of thequery result in document 200. For example, if the user clicks on either“Name 2” or “Page 2” on summary page 250, the user is navigated to thelocation of Name 2 on Page 2 of document 200.

In another embodiment, the user may generate a query based on a keyword. All instances of the key word within document 200 are identifiedand displayed on summary page 250. For example, a user may seek anoverview of information related to a widget. The user may generate aquery such that summary page 250 displays every instance of “widget”within document 200. Contextual information associated with “widget” mayalso be provided. The contextual information may include the heading ofthe section that includes “widget”, the sentence that includes “widget”,a link to the location where a specific instance of “widget” is locatedwithin document 200, the creation time associated with content thatincludes “widget”, the modification time associated with content thatincludes “widget”, an identifier that indicates whether a user hasviewed the content that includes “widget”, and any other data associatedwith the query result that the user may desire.

In another embodiment, the user may generate a query based on a datapattern. For example, a query may locate every phone number or customerID number within a document and present the information on summary page250.

In another embodiment, a user may customize a query to locate contentthat references a particular data set. For example, a user may define agroup entitled “My Projects.” The group may include a set of severaluser projects. The query builds a list of all content in document 200that references anything in the set. The set may be dynamic such thatthe definition of the set changes over time or depending on the resultsof the query. Thus, summary page 250 may display different query resultsdepending on the changed data set.

In yet another embodiment, a user may generate or select a query todisplay an action item list on summary page 250. The action item listincludes tasks that may be located in different areas of document 200.The different tasks may be identified by note flag metadata. A note flagis used to label information in a document. For example, note flags mayidentify tasks as unperformed, incomplete, or unable to perform until alater date. The note flags may also identify the priority of the tasks.The tasks in the action item list may then be presented on summary page250 in a particular order (e.g., highest to lowest priority, ease ofcompletion). The user may access summary page 250 to rearrange the orderof the tasks, identify accomplished or irrelevant tasks, or add moretasks to the action item list.

A user may perform a query for other types of information in document200. For example, summary page 250 may display a query result forcontent that has been updated since the last time the user vieweddocument 200. Summary page 250 may include information about a shareddocument such that a user may discern which other users have viewedand/or modified the document. Summary page 250 may also identify pagesthat have not yet been viewed by the user.

FIG. 3 illustrates an example summary page that displays a table ofcontents for a document. A user may create or select a query to generatea table of contents. The query may be customized such that the table ofcontents includes any information associated with a document. Forexample, the query used to create summary page 300 produces resultsidentifying the document name 310, section names 320, 330, 340, thefirst sentence 322, 332, 342 (or paragraph) appearing in the section,and corresponding links 324, 334, 344 to the sections. The user may alsoselect how the results are displayed and formatted on summary page 300.Thus, the user may quickly determine the content of a document fromsummary page 300. The user may also quickly navigate the document fromsummary page 300 by selecting a particular link 324, 334, 344. Changesmade to the document may be reflected on summary page 300. For example,a modified section name in the document would also be changed in thetable of contents.

FIG. 4 is an operational flow diagram illustrating a process forupdating a summary page associated with a document. The process beginsat a start block where a text document is loaded in memory of acomputing device. Different types of data in the document are identifiedby corresponding metadata. The different types of data that areidentified may include a section heading, contact information, anupdated object, meeting/class notes, an action item, a hyperlink,customer information, a name, a phone number, an e-mail address, a noteflag, or any other indicator of the type of content in the document.

Moving to block 400, a query request is received. The user may create aquery or select a query from a pre-defined list. The query identifiesthe document data to be located and displayed on the summary page. Forexample, the query may be used to identify data in the document for atable of contents, instances of a character string, a particular type ofdata (e.g., names, hyperlinks, phone numbers, updated objects, unviewedpages, etc.), an action item list, a particular data pattern, referencesto a particular data set or a note flag list. The query may be stored ina dynamic content container associated with the document.

Advancing to block 410, the query is performed and the query result isproduced. The query may be performed by analyzing metadata associatedwith the document to locate the data identified in the query. The queryresult may be stored in a dynamic content container associated with thedocument.

Transitioning to block 420, the query result is displayed on the summarypage. The summary page provides an overview of the document dataidentified in the query. A user may scan the summary page to determinean overview of the document data included in the query result. Thesummary page may also include contextual information associated with thequery result and links to sources of the query result in the document. Auser may select a link on the summary page and navigate to the locationin the document where the corresponding source of the query resultappears.

Continuing to decision block 430, a determination is made whether anychanges have been made to the sources of the query result in thedocument. Changes to the sources of the query result may be identifiedfrom data in the dynamic content container. Changes to the sources ofthe query result may be determined upon user action (e.g., selecting anupdate button), after a predetermined time interval has elapsed (e.g.,every thirty seconds), or every time a user navigates to a page thatincludes a source of the query result. If no changes have been made tothe sources of the query result, processing terminates at an end block.If changes have been made to the sources of the query result, processingcontinues at block 440.

Proceeding to block 440, the summary page is dynamically andcontinuously updated to reflect any changes made to the sources of thequery result in the document. Thus, the summary page is synchronous witha current state of the document. Processing then terminates at the endblock.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theinvention. Since many embodiments of the invention can be made withoutdeparting from the spirit and scope of the invention, the inventionresides in the claims hereinafter appended.

1. A computer-implemented method for updating a summary page of adocument, comprising: receiving a request to query a document forinformation; identifying the information; displaying the identifiedinformation on the summary page; and updating the summary page when theidentified information is modified in the document, wherein the updatedsummary page is synchronous with a current state of the document.
 2. Thecomputer-implemented method of claim 1, wherein identifying theinformation further comprises analyzing metadata associated with thedocument.
 3. The computer-implemented method of claim 1, furthercomprising storing the identified information in a dynamic contentcontainer associated with the document.
 4. The computer-implementedmethod of claim 3, further comprising determining when modifications aremade to the identified information in the document from the dynamiccontent container.
 5. The computer-implemented method of claim 1,further comprising providing a link on the summary page, wherein thelink is associated with the location of the identified information inthe document.
 6. The computer-implemented method of claim 1, whereindisplaying the identified information further comprises displaying atleast one of: a table of contents associated with the document, anaction item list, a list of modified content in the document, contextualinformation associated with the identified information, a list of usersthat have modified content in the document, a list of content having aparticular pattern, a list of references to a particular data set and alist of unviewed pages.
 7. The computer-implemented method of claim 1,wherein the information is a specific type of data.
 8. Thecomputer-implemented method of claim 7, wherein the specific type ofdata is one of: a section heading, a note flag, an action item, contactinformation, a character string, a hyperlink, an updated object, and anunviewed object.
 9. A computer-readable medium havingcomputer-executable instructions for updating a summary page of adocument, comprising: performing a query to identify data in thedocument; obtaining a result of the query; displaying the query resulton the summary page; and updating the summary page when a source of thequery result is modified in the document, wherein the updated summarypage includes the modified query result.
 10. The computer-readablemedium of claim 9, wherein obtaining a result of the query furthercomprises analyzing metadata associated with the document.
 11. Thecomputer-readable medium of claim 9, further comprising storing thequery result in a dynamic content container associated with thedocument.
 12. The computer-readable medium of claim 11, furthercomprising determining when modifications are made to a source of thequery result from the dynamic content container.
 13. Thecomputer-readable medium of claim 9, further comprising providing a linkon the summary page, wherein the link is associated with a source of thequery result.
 14. A system for updating a summary page of a document,comprising: a computer system having a memory, wherein the document isloaded in the memory; and a summary page update module loaded in thememory, wherein the summary page update module is arranged to: identifydata in the document; display the identified data on the summary page;and update the summary page when the identified data is modified in thedocument, wherein the updated summary page is synchronous with a currentstate of the document.
 15. The system of claim 14, wherein the data isidentified by analyzing metadata associated with the document.
 16. Thesystem of claim 14, wherein the identified data is stored in a dynamiccontent container associated with the document.
 17. The system of claim16, wherein modifications to the identified data in the document aredetermined from the dynamic content container.
 18. The system of claim14, wherein a link is provided on the summary page, wherein the link isassociated with the location of the identified data in the document.